package com.lanhai.zhonglai.interfaces;

import com.lanhai.zhonglai.beans.AgvBean;
import com.lanhai.zhonglai.beans.AgvDataBean;
import com.lanhai.zhonglai.beans.AgvMountBean;
import com.lanhai.zhonglai.beans.DotBean; 

/**
 * 点位事件定义
 * 
 * @author zhengwei
 *
 */
public interface IDotEvent {
	/**
	 * 到达判断点
	 * 
	 * @param agv
	 * @param dot
	 */
	void arrivedDecide(AgvBean agv, DotBean dot, AgvDataBean data);
 

	/**
	 * 到达充电桩
	 * 
	 * @param agv
	 * @param dot
	 */
	void arrivedPower(AgvBean agv, DotBean dot);

	/**
	 * 到达路由点
	 * 
	 * @param agv
	 * @param dot
	 */
	void arrivedRoute(AgvBean agv, DotBean dot);

	/**
	 * 到达传输工位
	 * 
	 * @param agv
	 * @param dot
	 */
	void arrivedTrans(AgvBean agv, DotBean dot);

	/**
	 * 到达待命点
	 * 
	 * @param agv
	 * @param dot
	 */
	void arrivedWait(AgvBean agv, DotBean dot);
	
	
	
	/**
	 * 传输完成退回到二维码 
	 * @param agv
	 */
	void arrivedQR(AgvBean agv, DotBean dot);
	 
	
	/**
	 * 没有完成传输退回到二维码
	 * @param agv
	 * @param dot
	 */
	void arrivedQRWithNoTrans(AgvBean agv, DotBean dot,AgvMountBean agvmount,int transDotno);
	/**
	 * 普通点位
	 * @param agv
	 * @param dot
	 */
	void arrivedNormal(AgvBean agv,DotBean dot);
	 
	
	
	/**
	 * 电量判断
	 * @param agv
	 * @param data
	 * @param dotno
	 */
	void arrivedPowerCheck(AgvBean agv,AgvDataBean data,DotBean dotno );
}
